home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t8.d64 / attendance.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  4KB  |  146 lines

  1. 10 POKE53281,12:POKE53280,12:PRINTCHR$(8)CHR$(5)CHR$(14):Z$=CHR$(0):OPEN15,8,15
  2. 20 PRINT"[147]          [193][212][212][197][206][196][193][206][195][197][146] [210][197][195][207][210][196][211]
  3. 30 [153]"            (null)OM (null)ICHARDSON
  4. 40 PRINT"             [196]ANA [195]OLLEGE
  5. 50 [153]"             (null)CTOBER 1983
  6. 70 BYTE=0:BIT=0:TE=0:SF=0:K=0:TM=0:KK=0   :A=0:SU=0:V=0:VV=0:NS=0:I=0:J=0:D=0
  7. 80 P$(0)="ABSENT[146]  :":P$(1)="PRESENT :"  :SS=0:DAY=0
  8. 90 DIM DA$(64),A(50,64),SN$(50)
  9. 100 PRINT"[147][193][212][212][197][206][196][193][206][195][197][160][210][197][195][207][210][196][211]
  10. 110 [153]"    PRESS A LETTER . . .
  11. 120 PRINT"      A.  CREATE A NEW FILE
  12. 130 [153]"      B.  WORK AN EXISTING FILE
  13. 135 PRINT"      C.  TERMINATE RUN
  14. 140 GS$[178]"ABC":[141]9000:[139]V[178]3[167][128]
  15. 145 VV[178]V
  16. 150 [153]"ENTER NAME OF FILE";
  17. 160 [133]"*CMDCMDCMD";F$:[139]F$[178]"*"[167][128]
  18. 170 F$[178][200](F$,15)
  19. 180 [153]"VERIFY NAME: "F$"WAIT: YWAIT/N"
  20. 190 GS$[178]"YN":[141]9000:[139]V[178]2[167]150
  21. 200 [159]7,8,7,"0:N"[170]F$[170]",S,R"
  22. 220 [141]10000:[139]A[178]62[167][160]7:[137]150
  23. 230 [161]#7,NS$:NS[178][198](NS$[170]Z$)
  24. 240 [139]NS[178]0[167][160]7:[153]"BAD FILE":[137]150
  25. 250 [129]I[178]1[164]NS:[132]7,SN$(I):[130]I
  26. 260 [160]7:[139]VV[178]1[167]1700
  27. 1000 [143] ATTENDANCE
  28. 1010 [153]"LOAD  ATN(null)(null)VAL(null)STR$ATN(null)LENVALCLOSE(null)VALLEN(null)(null)STR$(null) FOR "F$
  29. 1020 [153]"      LOADING DATA--PLEASE STAND BY
  30. 1030 OPEN8,8,8,"0:A"+F$+",S,R":GOSUB10000:IFA=62THENCLOSE8:GOTO1700
  31. 1040 FORI=1TONS:FORJ=0TO7:GET#8,A$:A(I,J)=ASC(A$+Z$):NEXTJ:NEXTI
  32. 1050 GET#8,D$:D=ASC(D$+Z$)
  33. 1060 FORI=1TOD:INPUT#8,DA$(I):NEXTI:D=D-1
  34. 1070 CLOSE8
  35. 1100 PRINT"[147]  [193][212][212][197][206][196][193][206][195][197][160][210][197][195][207][210][196][211][160]FOR";F$
  36. 1110 PRINT" PRESS A LETTER
  37. 1130 [153]"   A.  UPDATE (EXTEND) DATA"
  38. 1140 [153]"   B.  INSPECT/CORRECT AN ENTRY"
  39. 1150 [153]"   C.  A DIFFERENT FILE
  40. 1160 PRINT"   D.  TERMINATE"
  41. 1170 GS$="ABCD":GOSUB9000
  42. 1180 ONVGOTO3000,5000,7000,7000
  43. 1200 PRINT"[147][193][212][212][197][206][196][193][206][195][197][160][210][197][195][207][210][196][211][160]FOR "F$
  44. 1210 PRINT"    SAVING DATA--PLEASE STAND BY
  45. 1220 [152]15,"S0:ATT.BACKUP"
  46. 1230 [152]15,"R0:ATT.BACKUP=A"[170]F$
  47. 1240 [152]15,"S0:A"[170]F$
  48. 1250 [159]8,8,8,"0:A"[170]F$[170]",S,W"
  49. 1260 [129]I[178]1[164]NS:[129]J[178]0[164]7:[152]8,[199](A(I,J));:[130]J:[130]I
  50. 1270 [152]8,[199](D[170]1);
  51. 1280 [129]I[178]1[164]D:[152]8,DA$(I):[130]I
  52. 1290 [152]8,"MARKER"
  53. 1300 [160]8:[139]SF[178]0[167][142]
  54. 1310 [153]"    PEEKACKUP COPY? YWAIT/N
  55. 1320 GS$="YN":GOSUB9000:SF=0                :IFV=2THEN1300
  56. 1330 PRINT"[201]NSERT SECOND DISK AND PRESS RETURN"
  57. 1340 GS$=CHR$(13):GOSUB9000:GOTO1220
  58. 1700 REM SETUP ATTENDANCE
  59. 1710 OPEN8,8,8,"0:A"+F$+",S,W":GOSUB10000:IFA=63THENCLOSE8:GOTO1000
  60. 1720 FORI=1TONS:FORJ=0TO7:PRINT#8,CHR$(0);:NEXTJ:NEXTI
  61. 1730 PRINT#8,CHR$(1);
  62. 1740 PRINT#8,"MARKER"
  63. 1750 CLOSE8:GOTO1000
  64. 2000 REM STRING SEARCH--NAMES
  65. 2010 SS=LEN(SS$):FORI=1TONS
  66. 2020 FORJ=1TO(LEN(SN$(I))-SS+1)
  67. 2030 IF SS$=MID$(SN$(I),J,SS)THENRETURN
  68. 2040 NEXTJ:NEXTI:I=0:RETURN
  69. 2100 REM STRING SEARCH--DATES
  70. 2110 SS=LEN(SS$):FORI=1TOD
  71. 2120 FORJ=1TO(LEN(DA$(I))-SS+1)
  72. 2130 IF SS$=MID$(DA$(I),J,SS)THENRETURN
  73. 2140 NEXTJ:NEXTI:I=0:RETURN
  74. 3000 REM  UPDATE RECORDS
  75. 3010 PRINT"[147]  [193][212][212][197][206][196][193][206][195][197][160][210][197][195][207][210][196][211][160]FOR ";F$
  76. 3020 PRINT"LAST RECORD WAS #"D"[157], "DA$(D):D=D+1
  77. 3030 PRINT"[197]NTER DATE OF NEW RECORD #"D;:INPUT" [157] *[157][157][157]";DA$(D)
  78. 3100 DAY=D
  79. 3110 BYTE=INT((DAY-1)/8)
  80. 3120 BIT=DAY-BYTE*8-1:TE=2^BIT
  81. 3130 PRINT"[147][210][197][195][207][210][196] [208][210][197][211][197][206][195][197] ON "DA$(D)
  82. 3140 GS$="AP":PRINT"PRESS A[146] IF THE STUDENT WAS ABSENT,
  83. 3150 [153]"     PRESS PWAIT IF HE WAS PRESENT
  84. 3160 FORI=1TONS
  85. 3170 :IFLEFT$(SN$(I),4)="DROP"THEN3210
  86. 3180 :PRINT"      "SN$(I)"                   "
  87. 3190 :GOSUB9000:IFV=1THEN3210
  88. 3200 :A(I,BYTE)=(A(I,BYTE)ORTE)
  89. 3210 :NEXT
  90. 3220 SF=1:GOTO1100
  91. 5000 REM  CORRECT AN ENTRY
  92. 5010 PRINT"[147][193][212][212][197][206][196][193][206][195][197][160][201][206][211][208][197][195][212][201][207][206]/[195][207][210][210][197][195][212][201][207][206][160]FOR ":PRINT"   "F$
  93. 5020 PRINT"  DO IT BY S[146]TUDENT
  94. 5030 [153]"      OR BY DWAITATE?
  95. 5040 GS$="SD":GOSUB9000:ONVGOTO5100,5700
  96. 5100 INPUT"NAME OF STUDENT  [157] *[157][157][157]";SS$
  97. 5120 IFSS$="*"THEN1100
  98. 5130 GOSUB2000
  99. 5140 IFI=0THENPRINT"NO SUCH STUDENT":GOTO5100
  100. 5400 PRINT"[147]RECORD OF "SN$(I)"
  101. 5405 [153]"PRESS XWAIT IF BAD,"             :GS$[178]"X"[170][199](13):SU[178]0
  102. 5410 [153]"   PRESS RETURNWAIT IF OK"
  103. 5420 [129]J[178]1[164]D
  104. 5430 DAY[178]J
  105. 5440 BYTE[178][181]((DAY[171]1)[173]8):TM[178]A(I,BYTE)
  106. 5450 BIT[178]DAY[171]BYTE[172]8[171]1:TE[178]2[174]BIT
  107. 5460 K[178](TM[175]TE)[173]TE:SU[178]SU[170]K
  108. 5470 [153]""P$(K)DA$(J)"                                   "
  109. 5480 [141]9000:[139]V[178]2[167]5520
  110. 5490 [139]K[178]0[167]TM[178]TM[170]TE
  111. 5500 [139]K[178]1[167]TM[178]TM[171]TE
  112. 5510 A(I,BYTE)[178]TM:SF[178]1
  113. 5520 [130]
  114. 5530 [153]""SU"TIMES PRESENT OUT OF"D"SESSIONS":[141]8990
  115. 5540 [137]5000
  116. 5700 [133]"DESIRED DATE  CMD *CMDCMDCMD";SS$
  117. 5720 [139]SS$[178]"*"[167]1100
  118. 5730 [141]2100
  119. 5740 [139]I[178]0[167][153]"NO SUCH DATE":[137]5700
  120. 5800 DAY[178]I:SU[178]0
  121. 5810 BYTE[178][181]((DAY[171]1)[173]8)
  122. 5820 BIT[178]DAY[171]BYTE[172]8[171]1:TE[178]2[174]BIT
  123. 5830 [153]"LOADRECORD OF "DA$(I)".  (null)RESS XWAIT IF BAD,":GS$[178]"X"[170][199](13)
  124. 5840 [153]"   PRESS RETURNWAIT IF OK"
  125. 5850 [129]KK[178]1[164]NS
  126. 5855 [139][200](SN$(KK),4)[178]"DROP"[167]5920
  127. 5860 TM[178]A(KK,BYTE):K[178](TM[175]TE)[173]TE:SU[178]SU[170]K
  128. 5870 [153]""P$(K)SN$(KK)"                           CLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSE"
  129. 5880 [141]9000:[139]V[178]2[167]5920
  130. 5890 [139]K[178]0[167]TM[178]TM[170]TE
  131. 5900 [139]K[178]1[167]TM[178]TM[171]TE
  132. 5910 A(KK,BYTE)[178]TM:SF[178]1
  133. 5920 [130]
  134. 5930 [153]""SU"PRESENT FOR THIS SESSION":[141]8990
  135. 5940 [137]5000
  136. 7000 [143]  NEW FILE, TERMINATE
  137. 7010 [139]SF[179][177]0[167][141]1200
  138. 7020 [139]V[178]3[167]100
  139. 7030 [128]
  140. 8990 [153]"PRESS RETURNWAIT TO CONTINUE":GS$[178][199](13)
  141. 9000 [161]G$:[129]V[178]1[164][195](GS$):[139]G$[178][202](GS$,V,1)[167][142]
  142. 9010 [130]V:[137]9000
  143. 10000 [132]15,A,A$:[139]A[179][178]1[167][142]
  144. 10010 [153]A$:[139]A[178]62[176]A[178]63[167][142]
  145. 10020 [144]
  146.